{{tag>Lucid Precise gestionnaire_de_fichiers xubuntu xfce}}

----

====== Thunar ======

**Thunar** est le [[:gestionnaire de fichiers]] de [[:XFCE]]. Il a été développé pour être à la fois léger et très convivial.\\
Il est également extensible par l'ajout de [[#greffons]] installables s'ils ne le sont pas déjà sur votre système.

{{ :thunar2.png?500 }}

===== Installation =====

Thunar est installé par défaut sur [[:Xubuntu]] et avec l'[[:environnements|environnement]] de bureau [[:XFCE]].

==== Installation sur Gnome/KDE ====

== Pré-requis ==

  * Disposer des [[:sudo|droits d'administration]].
  * Disposer d'une connexion à Internet configurée et activée.
  * Avoir activé les [[:depots#universe_et_multiverse|dépôts Universe]].

== Installation ==

[[:tutoriel:comment_installer_un_paquet|Installez le paquet]] **[[apt>thunar]]**.

===== Configuration =====

==== Greffons ====

La plupart des greffons (ou plugins) sont inclus par défaut dans [[:Xubuntu]]. Si ce n'est pas le cas ou que vous êtes sur un autre [[:environnements|environnement]] que [[:XFCE]], [[:tutoriel:comment_installer_un_paquet|installez-les]] :

  * **[[apt>thunar-archive-plugin]]** -> ajoute une entrée dans le menu contextuel (clic droit) pour créer/décompresser les [[:archivage|archives]] depuis Thunar.
  * **[[apt>thunar-media-tags-plugin]]** -> ajoute, parmi d'autres fonctionnalités, un éditeur de tags [[wpfr>ID3]].
  * **[[apt>thunar-volman]]** -> pour activer la gestion automatique des disques et médias amovibles.
Pour installer ces 3 greffons en une fois, cliquez **[[apt>thunar-archive-plugin,thunar-media-tags-plugin,thunar-volman|ici]]**.\\

Il existe également un greffon qui ajoute la prévisualisation du contenu dans les miniatures pour divers formats de fichiers.((EPS, Postscript, PDF, DVI, OpenDocument Format (unzip requis), SVGZ, Fig (.fig), LaTeX (teTeX requis), images Raw (raw-thumbnailer et/ou dcraw requis), Grace (grace requis), vidéos (ffmpegthumbnailer requis), images XCF (format natif de The GIMP), images PSD (format de Photoshop) ))

  * __**Pour Ubuntu versions [[:lucid|10.04]] et [[:natty|11.04]]**__ -> [[:tutoriel:comment_installer_un_paquet|Installez le paquet]] **[[apt>thunar-thumbnailers]]**

  * __**Pour Ubuntu versions [[:oneiric|11.10]] et +**__ ->  Le paquet [[http://packages.ubuntu.com/search?keywords=thunar-thumbnailers&searchon=names&suite=all&section=all|thunar-thumbnailers]] n'étant plus disponible dans les dépôts, il vous faudra l'installer au choix :
    * depuis les sources disponibles sur la page officielle du greffon **[[http://goodies.xfce.org/projects/thunar-plugins/thunar-thumbnailers|ici]]**
    * [[:tutoriel/comment_installer_un_paquet#installer_un_paquet_hors_depots_non_recommande|installer un paquet]] **.deb** disponible :
      * soit pour Debian Squeeze que vous trouverez [[http://packages.debian.org/squeeze/thunar-thumbnailers|ici]]
      * soit pour une version antérieure d'Ubuntu que vous trouverez [[http://packages.ubuntu.com/search?keywords=thunar-thumbnailers&searchon=names&suite=all&section=all|ici]] \\ \\ FIXME ** :!: Aucune des deux méthodes précédentes n'a été testée :!:** Si vous l'avez fait, merci de rectifier en conséquence.

<note>Notez que si vous installez Thunar dans un [[:environnements|environnement]] [[:Gnome]] ou [[:KDE]] sur une version récente d'Ubuntu, il est possible que vous bénéficiez des mécanismes de prévisualisation des miniatures déjà intégrés dans votre système et dans ce cas certains types de fichiers comme les PDF, XCF ou PS seront déjà prévisualisés dans Thunar sans avoir à ajouter le greffon **[[http://packages.ubuntu.com/search?keywords=thunar-thumbnailers&searchon=names&suite=all&section=all|thunar-thumbnailers]]**.</note>

== Greffons disponibles seulement pour Ubuntu versions 12.04 & + ==

Sachez qu'à partir d'**Ubuntu [[:precise|12.04]]**, deux nouveaux greffons sont disponibles dans les dépôts :

  * Issu du projet [[http://gtkhash.sourceforge.net/|GtkHash]] [en], le  greffon **[[apt>thunar-gtkhash]]** permet le calcul de sommes de contrôle sur les fichiers.((Les [[wpfr>Fonction_de_hash|fonctions de hachage]] disponibles avec [[http://gtkhash.sourceforge.net/|GtkHash]] sont MD5, MD6, SHA1, SHA256, SHA512, RIPEMD, TIGER et WHIRLPOOL.))

  * Enfin, les développeurs disposent maintenant du greffon **[[apt>thunar-vcs-plugin]]** qui permet l'intégration d'actions (via le menu contextuel) avec les [[wpfr>VCS|systèmes de gestion de versions]] [[:subversion|Subversion (SVN)]] et [[:Git]].

<note help>Vous trouverez des informations complémentaires sur les possibilités offertes par les différents greffons et leur utilisation en consultant la section qui leur est consacrée sur le site [[http://goodies.xfce.org/projects/thunar-plugins/start|Xfce Goodies Project]] [en].((A l'exception du greffon **thunar-gtkhash** pour lequel il n'y a pas encore de page dédiée sur [[http://goodies.xfce.org/projects/thunar-plugins/start|Xfce Goodies Project]] fin juin 2012 et pour lequel les maigres informations disponibles se trouvent sur la page du projet [[http://gtkhash.sourceforge.net/|GtkHash]] [en] et sur les pages des [[http://packages.ubuntu.com/search?keywords=thunar-gtkhash&searchon=names&suite=all&section=all|paquet pour Ubuntu]].))</note>

==== Parcourir des dossiers distants ====

  * __**Pour Ubuntu versions [[:lucid|10.04]] et [[:natty|10.10]]**__ ->

Par défaut, et à la différence de [[:Nautilus]], Thunar ne peut pas, seul, parcourir des dossiers distants (ftp, dossiers partagés via Samba...).\\
Pour palier à ce problème, vous pouvez utiliser **[[http://www.uvena.de/gigolo/|gigolo]]** [en], comme expliqué sur [[:gigolo|la page dédiée]] mais également [[http://jeromeg.blog.free.fr/index.php?post/2009/02/14/Gigolo-0.2.0|ici]] et [[http://jeromeg.blog.free.fr/index.php?post/2009/01/11/Naviguer-avec-Thunar-dans-des-syt%C3%A8mes-de-fichiers-distants-gr%C3%A2ce-%C3%A0-Sion|ici]].(([[http://jeromeg.blog.free.fr/index.php?post/2009/01/11/Naviguer-avec-Thunar-dans-des-syt%C3%A8mes-de-fichiers-distants-gr%C3%A2ce-%C3%A0-Sion|Cette page]] parle de "Sion" qui est l'ancien nom de [[:Gigolo]].))


  * __**Pour Ubuntu versions [[:oneiric|11.04]] et +**__ ->  Thunar permet de parcourir les dossiers distants sans devoir utiliser Gigolo.
==== Partage de dossiers ====

Par défaut, et à la différence de [[:Nautilus]], Thunar ne permet pas directement de partager ses dossiers sur un réseau local (NFS ou Samba).\\
Les utilisateurs de Xubuntu devront utiliser **[[:shares-admin]]** pour configurer leurs partages.


===== Actions personnalisées =====

Thunar permet de définir des actions personnalisées. Cela consiste à créer un script (un "action personnalisée"), qui sera disponible via le clic droit de la souris (dans Thunar), sur un répertoire ou un fichier.

Pour créer un script, il faut lancer Thunar, puis 
  * allez dans **Éditer > Configurer les actions personnalisées** 
  * cliquez sur l’icône "**+**" pour créer un nouveau script 
  * dans le 1er onglet (**Base**) remplissez comme vous le souhaitez les zones **Nom** (ce qui apparaîtra dans le menu contextuel du clic droit) et **Description** (un simple commentaire optionnel)
  * Vous pouvez affecter une icône (non obligatoire) en cliquant sur le bouton **Icône**
  * la zone importante est la zone **Commande**. On y place un ligne de commande ou l'appel à un script externe (par exemple **~/script/mon script.sh %f** - où **%f** indique que l'action personnalisée doit s'effectuer sur le fichier sélectionné).
  * Dans le second onglet **Conditions d'apparition**, vous devez choisir le type de fichier qui, une fois cliqué (clic droit) fera apparaître le script dans le menu contextuel. Si l'action personnalisée doit copier des fichiers ou des répertoires, il est logique de tout cocher. Si l'action personnalisée consiste à redimensionner une image, il est logique de ne cocher que **fichiers images**, etc...

De nombreux exemples d'actions personnalisées **[[http://docs.xfce.org/xfce/thunar/custom-actions|ici]]** [en]

==== Quelques exemples d'actions personnalisées ====

=== 1-Lancer un script dans un terminal ===
Dans la ligne **commande** de l'onglet 1, tapez **xfce4-terminal -e %f** ; dans l'onglet **Conditions d'apparition** cochez les fichiers **Textes** et **Autres**.
<note warning>Sur Xubuntu 12.04, si dans le chemin du script figure un nom de dossier avec un espace à l'intérieur le script ne se lancera pas</note>

=== 2-Corriger le problème lié à la copie de plusieurs fichiers ===
Les informations qui sont données par Thunar sont erronées.

Voici un script dégoté il y a un bout de temps, et modifié afin qu'il fonctionne pour plusieurs fichiers.\\
Si vous souhaitez que celui-ci puisse couper/coller des fichiers, il suffit de remplacer à la ligne 30
<code>cmd="cp -Rp"</code>
par
<code>cmd="mv"</code>
et aux lignes 18, 22, 24, 27, 28, "copie" par "déplacement" et "copié" par "déplacé".

Il suffit donc d'enregistrer ça dans un fichier ayant par exemple comme nom **cp_p.sh** ((pour **c**o**p**ie_**p**ersonnalisée)), puis, depuis Thunar, faire un clic droit dessus -> "//Propriétés...//", aller dans le 3ème onglet -> "//Permissions//" et cocher "//Autoriser ce fichier à être exécuté comme un programme"//.\\
Ensuite, toujours dans Thunar, menu //Éditer -> "Configurer les actions personnalisées..."//, et sur la droite, premier bouton -> //"Ajouter une action personnalisée"//.

Vous renseignerez comme suit :
  * Nom : "Copie améliorée"
  * Commande : si le fichier du script est dans votre répertoire principal : ''~/cp_p.sh %F''. Attention le //F// doit bien être majuscule.
Puis aller sur le 2ème onglet -> "Conditions d'apparition" et cocher toutes les possibilités, et enfin valider.

Maintenant, quand vous cliquez droit, vous avez une fonction "Copie améliorée", qui permet d'utiliser le script **cp_p.sh** à la place de la copie normale.

<file bash cp_p.sh>
#! /bin/bash
 
# SRC
# https://help.ubuntu.com/community/Nautilus_Scripts
# http://ubuntuforums.org/showthread.php?t=101859
# http://ubuntuforums.org/showthread.php?t=417978
# http://forums.archlinux.fr/topic1223.html
 
# PRESENTATION: les +
# annulation fonctionnelle (kill process fils, residu supprimé)
# check de l'espace libre, des droits.
 
# EXECUTION
# à executer en mode graphique avec l'option %m dans nautilus-actions
# ou lancer en CLI en se plaçant dans un repertoire où se trouve un gros fichier puis executer Copievers.sh grosFichier.avi
 
# INITIALISATION
copy="Copie en cours..."
title_copy="Veuillez patienter..."
title_success="Succès"
title_error="Erreur"
title_conflict="Conflit durant la copie"
title_select="Selectionnez un répertoire"
error="Une erreur est survenue lors de la copie"
error_w="Vous n'avez pas les droits en écriture sur"
error_s="Pas assez espace disque!"
success="correctement copié(s)"
progress="Copie en cours"
conflict="Voulez-vous remplacer"
cmd="cp -Rp"
copied=0
nbFiles=0
 
# FONCTIONS
function copie ()
{
   ORIG_SIZE=`du -k "$arg"|awk '{print $1}'`
   checkFreeSpace $ORIG_SIZE
   $cmd "$arg" "$location" &
   CP_SIZE=`du -k "$location/${arg//*\//}"|awk '{print $1}'`
   [ "$CP_SIZE" == "" ] && CP_SIZE=0
   (
   echo "0"
   sleep 0.2
   while (( $CP_SIZE != $ORIG_SIZE )); do
      # un echo est obligatoire dans ce while
      echo "$(( $(( $CP_SIZE * 100 )) / $ORIG_SIZE ))"; sleep 0.2
      CP_SIZE=`du -k "$location/${arg//*\//}"|awk '{print $1}'`
      [ "$CP_SIZE" == "" ] && CP_SIZE=0
   done
   if [ "$CP_SIZE" == "$ORIG_SIZE" ]; then
   {
   	echo "100"
   }
   fi
   ) | zenity --progress --auto-close --percentage=0 --text "$copy \"$arg\"..."
   # ^ barre de progression de zenity
   # v on controle si annulation ou pas.   
   controlCp
}
 
# un paramètre: la taille du fichier
function checkFreeSpace ()
{
# location sera de la forme /, /tmp, /home, /opt...
# on split le path pour trouver la partition
   part=`echo $location | cut -d'/' -f2`
   findit=`df | grep $part`
   # si findit est vide alors concerne la partition /
   if [ "$findit" == "" ]; then
      findit=`df / | grep /`
   fi
      tab=( $findit )
      # point de montage se trouve sur 5
          mountPoint=${tab[5]}
      # l'espace libre sur 3
          freeSpace=${tab[3]}
   if [ $1 -gt $freeSpace ]
   then
      zenity --error --text="$error_s" --title "$title_error";
      exit 1
   fi
}
 
function controlCp ()
{
   # On peut utiliser $? ou ${PIPESTATUS[0]}
   if [ "$?" != "0" ]; then
      # si annulation on kill le fils et on sort du script
      killChildProcess
      # on vire le residu
      pathfile="$location/${arg//*\//}"
      # on evite les rm -R avec pour paramètre * ~ / .
      if [ ${#pathfile} -gt 1 ] && [ ${#location} -gt 1 ] && [ ${#arg} -gt 1 ]; then
         rm -R "$pathfile"
      fi      
      exit 1
   else copied=`expr $copied + 1`
   fi
}
 
function killChildProcess ()
{
   # normalement il n'y en a qu'un seul...au cas où.
   for child in $(ps --ppid $$ -o pid,cmd | grep -R "$cmd" | awk '{print $1}')
   do
     kill $child
   done
}
 
# TRAITEMENT
# on renseigne le repertoire de destination
while ((1))
do
location=`zenity --file-selection --directory --title="$title_select"`
if [ "$?" = 0 ]; then
# si on a pas annuler...on check les droits en écriture
   if [ -w "$location" ]; then
      for arg
      do
         nbFiles=`expr $nbFiles + 1`
         # on vérifie si le fichier courant n'existe pas à la destination
         if [ -e "$location/${arg//*\//}" ]; then
         # s'il existe message -> conflit
         zenity --question --title="$title_conflict" --text="$conflict $location/${arg//*\//} ?"
            if [ "$?" = 0 ]; then
            # si on souhaite tout de même écraser
               copie
            fi
         else
         # s'il n'existe pas on copie
            copie
         fi
      done
      # on check copied / nbFiles
      if [ $copied -gt 0 ]; then
         zenity --info --text="$copied/$nbFiles $success" --title "$title_success";
      fi
      break
   else
   {
   	zenity --question --title="$title_error" --text="$error_w $location"
   	if [ "$?" = 1 ]; then
   	{
   		exit 1
   	}
   	fi
   }
   fi
fi
done
</file>
===== Bogues connus =====

==== Thunar se bloque lors du premier lancement de chaque session ====

Au premier lancement, il met près d'une minute à démarrer, puis démarre en double. [[https://bugs.launchpad.net/ubuntu/+source/thunar/+bug/775117|Ce bogue]] serait lié au mécanisme de montage automatique des partages réseau et, pour certains utilisateurs, celui-ci serait résolu lors de la désactivation de ce mécanisme (comme il a été vu [[https://bugs.launchpad.net/ubuntu/+source/thunar/+bug/775117/comments/13|ici]] [en]) :

 - lancer la commande suivante : 
<code>gksu leafpad /usr/share/gvfs/mounts/network.mount</code>

 - mettre la clé "AutoMount", à la valeur "false":
<code>
[Mount]
Type=network
Exec=/usr/lib/gvfs/gvfsd-network
AutoMount=false
</code>
 - enregistrer le fichier et faire une déconnexion/connexion de la session

Ainsi le bogue est contourné **mais on peut toujours accéder au réseau dans Thunar.**

==== Non reconnaissance des partitions NTFS avec Thunar < 1.1.1 ====

<note important>Ce bogue ne concernerait que les versions de **Thunar ≥ 0.9.0** (installées avec XFCE 4.4 & 4.6) **et < 1.1.1** (XFCE < 4.8). Soit les versions disponibles par défaut avec **Ubuntu [[:hardy|8.04]] et [[:lucid|10.04]]**. (Voir les différentes versions avec la liste des paquets disponibles dans les dépôts pour [[http://packages.ubuntu.com/search?keywords=thunar&searchon=names&suite=all&section=all|Thunar]] et pour [[http://packages.ubuntu.com/search?keywords=xfce4&searchon=names&suite=all&section=all|XFCE]].)</note>

Si Thunar reconnaît par défaut les clés USB, les médias amovibles et les lecteurs/graveurs de CD et DVD, par contre, avec les versions 0.9.0 et 1.0.1 (installées avec XFCE 4.4.2 & 4.6.1.3), il ne reconnaît plus les partitions de type [[:tutoriel:ntfs|NTFS]] et ne monte pas tout seul ce type de partitions.\\
-> Cf. [[http://forum.xfce.org/viewtopic.php?id=3866|Lost NTFS mounts with xfce 4.4.2]] [en] et [[https://launchpad.net/ubuntu/+source/thunar/+changelog|Change log : "thunar" package]] [en].

Vous pouvez toujours utiliser [[:disk-manager]], ou tout autre programme ou commande, pour monter vos partitions NTFS. Et si vous voulez que vos partitions figurent dans le panneau de droite de Thunar, il faudra faire un clic droit sur le dossier "Documents" (par exemple) et faire "Envoyer Vers" -> "Side Pane".

Ce problème est résolu depuis la version 1.1.1 de Thunar, donc pas de souci avec [[:xfce|XFCE 4.8]] et suivants.

===== Liens =====

  * [[http://thunar.xfce.org|Le site officiel du projet Thunar]] [en]
  * [[http://goodies.xfce.org/projects/thunar-plugins/start|La page du site Xfce Goodies Project avec les greffons (plugins) pour Thunar]] [en]
  * [[http://www.generation-linux.fr/index.php?post/2008/12/07/Menu-contextuel-de-recherche-dans-Thunar-grace-a-Catfish|Menu contextuel de recherche dans Thunar grâce à Catfish]] [fr], par Tecky.

===== Pages liées =====

{{backlinks>.}}

----
//Contributeurs : [[utilisateurs:adam0509]], [[utilisateurs:evax]], [[utilisateurs:mavosaure]], [[utilisateurs:bugs néo]].//